草庐IT

java - 从Java将变量插入SQL查询

全部标签

ruby - rspec 命令行变量输入

我有一个ruby​​脚本,我正在尝试使用rspec进行测试。有没有一种方法可以将变量传递给命令行(即通过rspec输入键盘数据以“获取”)例子:username=gets.chomp 最佳答案 你可以stubKernel#gets,只是它混入了对象,所以stub在那里:classMirrordefechoprint"entersomething:"response=gets.chompputs"#{response}"endendrequire'rspec'describeMirrordoit"shouldecho"do@mirro

ruby - 如何将类名作为变量传递给ruby中的另一个类

我正在尝试学习用ruby​​创建一个多类程序。我编写了一个引擎类和一些其他类,如城市、街道等,但在将类名作为变量传递给其他类时遇到了问题。下面的代码抛出错误:“City.rb:15:in'intro':undefinedlocalvariableormethodgame'for#(NameError)”。我在某种程度上理解这个问题,但我认为这个城市不需要知道任何关于游戏对象,我认为它只需要获取它并将其传回即可。但表面上我对如何在类之间传递变量(尤其是类名)有误解。我的设计有什么问题?#Game.rbrequire'./City.rb'classEnginedefinitialize(c

ruby-on-rails - 事件管理员 CSV 导出自定义查询范围

我正在使用活跃的管理员导出CSV选项。它返回与特定表相关的所有值。我只想要特定月份的报告。有人能帮忙吗? 最佳答案 您可以编写自己的csv导出器collection_action:download_report,:method=>:getdousers=User.where('created_at>=?',Date.today-1.month)csv=CSV.generate(encoding:'Windows-1251')do|csv|#addheaderscsv:download_report))endindex:downloa

ruby-on-rails - ENV 变量中的 Capistrano 和 API key ?

我正在使用Capistrano部署我的Rails应用程序。我想在服务器上保存一些APIkey作为环境变量。我使用Capistrano部署的Rails应用程序应该可以访问这些APIkey。作为守护进程运行的单独的ruby​​文件也应该可以访问这些APIkey。在环境变量中设置APIkey似乎是理想的解决方案,但是,我无法在我的Rails应用程序中使用ENV["SOME_KEY"]访问它们。根据thispost,因为capistrano以非交互和非登录方式运行,~/.bashrc和~/.bash_profile未加载。流程图建议我应该使用$BASH_ENV。我可以只在$BASH_ENV中添

ruby - 在 haml 中插入文本 block

在我的Jekyll博客中,我使用include标签将文件的内容放入文档中。但是,如果我尝试对基于HAML的文档执行此操作,则包含文本的缩进是错误的。:preserve不起作用,因为它需要缩进。有没有一种方法可以在不依赖于缩进的情况下指定一段文本?%html%body-preservedoincludedtextfromfile-end 最佳答案 似乎在当前版本的Haml:text过滤器中已被删除。现在你可以使用:plain过滤器了。不对该block内的文本执行任何处理。您可以在此处粘贴多行文本block或HTML代码。HTML将显示

sql - 如何在 rails 中添加条件 where 子句

我是一名Rails新手,我正在尝试使用Rails对表执行搜索,而我只是使用我的sql知识来执行此操作。但这看起来不像是rails或ruby​​...有没有更好的方法来做我在下面做的事情?(基本上,如果日期参数已填充,则只将日期参数传递给sql)defsearch(begin_date=nil,end_date=nil)subject="andcreated_at"if!(begin_date.nil?||end_date.nil?)where_part=subject+"BETWEEN:begin_dateAND:end_date"elseif(begin_date.nil?&&end

sql - PostgreSQL 条件 where 子句

在我的RubyonRails应用程序中,我使用的是blazer(https://github.com/ankane/blazer)并且我有以下sql查询:SELECT*FROMsurvey_resultssrLEFTJOINclientscONc.id=sr.client_idWHEREsr.client_id={client_id}这个查询非常有效。但是我需要添加条件逻辑来检查client_id变量是否存在。如果是,那么我将按此变量进行过滤,如果不是,则我不会启动此where子句。我如何在PostgreSQL中执行此操作? 最佳答案

ruby-on-rails - 使用从ruby中的方法返回的散列在一行中分配多个变量

我有一个返回散列映射{:name=>"Test",:desc=>"TestDescription}的方法。它将始终返回:name和:description。如何用返回的哈希分配2个变量。我可以这样做,但它会调用该方法两次:@name,@desc=get_name_desc_map[:name],get_name_desc_map[:desc]我只想调用一次该方法。 最佳答案 使用Ruby的并行赋值非常简单:@name,@desc=get_name_desc_map.values另一种方法是(如果您不知道原始散列中键的顺序):@nam

ruby - 将元素插入 ruby​​ Hash 中的数组

在Ruby中,为了创建数组的散列并将元素推送到这些数组,我见过两种习惯用法。我想知道人们更喜欢哪一个,为什么。(披露:我有自己的看法,但我想确保我没有遗漏一些明显的东西。)方法1:使用Hash的花式初始化器:ht=Hash.new{|h,k|h[k]=[]}ht["cats"]当您使用尚不存在的键访问ht时,此方法会创建一个空数组。方法2:简单的初始化器,花哨的访问器:ht={}(ht["cats"]||=[])人们对哪一个更好(或者哪一个优于另一个)有意见吗? 最佳答案 有时散列最初是用数据填充的,后来它只用于检索数据。在那些情况

sql - 将所有 Controller 操作包装在 Rails 中的事务中

是否可以设置一个Rails应用程序,以便所有Controller操作都自动包装在一个事务中,并在出现未挽救的异常时自动回滚?我正在开发一个Rails3应用程序,目前正在执行一项相当棘手的操作,该操作会进行大量数据库更改。而且我一直弄错了很多次!一段时间后,我意识到我的代码无法正常工作,因为我最终在数据库中得到了不一致的数据。我可以很容易地用一个事务来包装它(这是一个明显需要的实例!)。然而,这让我想到,至少在开发过程中,将这个想法应用于每个Controller操作会很有用。假设这是可能的,这有什么缺点吗? 最佳答案 有关信息,我在我